<?php
    class connectSQL
    {            
        var $SQL;
        var $returnSql = array();
        
        //Construtor da classe
        function connectSQL()
        {
            $this->Connect();
        }
        
		/*
		$mysql_host = "mysql5.000webhost.com";
		$mysql_database = "a7780917_btv";
		$mysql_user = "a7780917_btv";
		$mysql_password = "btv123";
		
		*/
		
        #fun��o de uso interno da classe, apenas abre o banco
        private function Connect()
        {
         mysql_connect("localhost", "root", "vertrigo") or die(mysql_error());
            mysql_select_db("boulevard") or die(mysql_error());
        }
        
        /*
            Execute
            resbe como parametroum um comando sql
            e o executa sem retorno
        */
        public function Execute($alias)
        {
            $this->Connect();
            mysql_query($alias) or die(mysql_error());
            
            mysql_close ();
        }
        
        
        /*
            ***FUN��O EM DESENVOLVIMENTO***
            Query
            
            faz uma consulta no banco
            resebe como parametro um script sql e
            retorna um array com o resultado da consulta
            
            ex:
                $SQL = Querry ("SELECT * FROM ALUNO");
                
            
        */
        public function Query($alias)
        {
            $this->Connect();
            $rs = mysql_query($alias) or die(mysql_error());
            
            while($row = mysql_fetch_array($rs)) 
                $this->returnSql[] = $row;
                
            mysql_close ();
            
            return $this->returnSql;
        }
        
        /*
            insert
            fun��o que insere dados no banco
            a fun��o n�o tem retorno e
            resebe como parametro o nom eda tabela que sera inserido o dado
            e um arrey contendo o nome do campo e o valor
            
            ex:
            
            $dados = array(
            "codigo"  => 1,
            "nome"    => "Luiz",
            "turma"   => "19B",
            "materia" => "TADS"
            )
            
            insert ("TABELA_ALUNO", $dados);
        
        */
        
        public function Insert($table, $dados)
        {
            $insert = array();
            $values = array();
            
            foreach($dados as $col => $val)
            {
                $insert[] = $col;
                $values[] = $val;
            }
            
            $insert = implode("` , `", $insert);
            $values = implode("' , '", $values);
            
            $this -> Execute("INSERT $table (`$insert`) VALUES ('$values');");
            //echo "INSERT $table (`$insert`) VALUES ('$values');";
        }
        
        /* Delete
        
        fun��o para apagar dados do banco
        ressebe como parametro
        $table     = tabela onde o dado se encontra
        $nmCampoCd = Nome do campo onde se encontra a chave primaria
        $Cd        = valor da chave
        
        ex: Delete ("ALUNO", "CDALUNO", "335")
        */
        
        
        #Corrigir bug cd exclus�o
        public function Delete($table, $nmCampoCd, $cd)
        {
            $this -> Execute("DELETE FROM `$table` WHERE `$nmCampoCd` = `$cd` LIMIT 1;");
        }
        
        public function Generico($sql)
        {
            /**/
			$this->Execute($sql);
        }
        
        # Gera o cogigo do proximo item a ser cadastrado
        # ressebe como parametro campo=nome do campo codigo na tabela, tabela=nome da tabela
        public function GerarCod($campo, $tabela)
        {
            $cd = $this->Query("SELECT MAX( $campo )+1 FROM $tabela");
            
            error_log($cd[0][0]);
            return $cd[0][0];
        }
    }
?>